package apiday02;

public class IntegerDemo {
    public static void main(String[] args) {
        Integer i1 = new Integer(5);
        Integer i2 = new Integer(5);
        System.out.println(i1 == i2);//false,因为==比较地址

        //Integer.valueOf()会复用-128到127范围内的数据
        Integer i3 = Integer.valueOf(5);
        Integer i4 = Integer.valueOf(5);
        System.out.println(i3 == i4);

        //触发自动装箱特性，会被编译为Integer i=Integer.valueOf(5);
        Integer i = 5;//基本类型到包装类型---装箱

        //触发自动拆箱特性，会被编译为：int j=i.intValue();
        int j = i;//包装类型到基本类型---拆箱

        //1)可以通过包装类来获取基本类型的取值范围
        long max = Long.MAX_VALUE;//获取long的最大值
        System.out.println(max);
        long min = Long.MIN_VALUE;//获取long的最小值
        System.out.println(min);

        float max1 = Float.MAX_VALUE;
        System.out.println(max1);
        float min1 = Float.MIN_VALUE;
        System.out.println(min1);

        //2)包装类型可以将字符串转换为对应的基本类型---重点
        String s1 = "38";
        int age = Integer.parseInt(s1);//将字符串s1转换为int类型
        System.out.println(age);//38---int

        String s2 = "123.245";
        double price = Double.parseDouble(s2);
        System.out.println(price);
    }
}
